
package br.com.hotelmanager.dao;

/**
 * Define as consultas básicas que devem ser feitas para todos os objetos persistentes.
 * @author Túlio
 */
public interface GenericDAO
{
    public static final String DATABASE_NAME = ""; //nome da base de dados que todos os DAOs vao usar
    /**
     * Salva o objeto na base.
     * @param o O objeto a ser salvo.
     * @return Retorna o ID do registro salvo ou -1 caso não tenha sido possível salvar.
     */
    public Long create(Object o);
    /**
     * Atualiza um registro salvo anteriormente.
     * @param o O objeto a ser atualizado.
     * @return true se o registro foi atualiza com sucesso ou false caso contrario.
     */
    public boolean update(Object o);
    /**
     * Busca na base um objeto salvo anteriormente.
     * @param id o ID do objeto a ser buscado.
     * @return O objeto buscado ou null caso não tenha sido encontrado.
     */
    public Object findById(Long id);
}
